home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs16.d81 / surviv.prg (.txt) < prev    next >
Commodore BASIC  |  2009-10-11  |  15KB  |  472 lines

  1. 10 REM ************************
  2. 11 REM *                      *
  3. 12 REM *       SURVIVE!       *
  4. 15 REM *    BY STEVE GRACE    *
  5. 16 REM *       (C) 1986       *
  6. 17 REM *      ELECTRICAL      *
  7. 18 REM *       SOFTWARE       *
  8. 19 REM *                      *
  9. 20 REM *  COMPLETED 03/03/85  *
  10. 21 REM *  LAST REV. 07/20/86  *
  11. 22 REM *      VERSION 1.0     *
  12. 23 REM *                      *
  13. 25 REM ************************
  14. 90 GOTO9000
  15. 99 REM * PARSER *
  16. 100 GOSUB400
  17. 101 IFRVTHENRV=RV+1:IFRV=3ANDR=26THENR=27:GOTO8000
  18. 105 POKE198,0:C$="":PRINT">";:INPUT#1,C$:PRINT
  19. 107 IFC$="N"ORC$="NORTH"THENC$="GO NORTH"
  20. 108 IFC$="S"ORC$="SOUTH"THENC$="GO SOUTH"
  21. 109 IFC$="E"ORC$="EAST"THENC$="GO EAST"
  22. 110 IFC$="W"ORC$="WEST"THENC$="GO WEST"
  23. 111 IFC$="U"ORC$="UP"THENC$="GO UP"
  24. 112 IFC$="D"ORC$="DOWN"THENC$="GO DOWN"
  25. 113 IFC$="I"THENC$="INVENTORY"
  26. 114 IFC$="Q"ORC$="QUIT"THEN12000
  27. 115 IFC$="SAVE"THEN13000
  28. 116 IFC$="LOAD"THEN14000
  29. 117 Z$=C$:GOSUB900:IFZ$=""THEN100
  30. 118 C$="":FORI=1TOLEN(Z$):Z1$=MID$(Z$,I,1):C$=C$+CHR$(ASC(Z1$)AND127):NEXT
  31. 119 W=1:W1$="":W2$="":VT=0:OT=0
  32. 120 FORI=1TOLEN(C$)
  33. 130 IFW=1ANDMID$(C$,I,1)=" "THENW=2:GOTO160
  34. 140 IFW=1THENW1$=W1$+MID$(C$,I,1)
  35. 150 IFW=2THENW2$=W2$+MID$(C$,I,1)
  36. 160 NEXT
  37. 170 Z$=W1$:GOSUB900:W1$=Z$
  38. 180 Z$=W2$:GOSUB900:W2$=Z$
  39. 200 FORI=1TOV:IFW1$=V$(I)THENVT=V(I):I=V+1
  40. 205 NEXT
  41. 210 IFVTTHEN225
  42. 220 PRINT"[211]ORRY, [201] DON'T KNOW HOW TO '"W1$"'":PRINT"SOMETHING.":GOTO100
  43. 225 IFW2$=""THEN300
  44. 227 IFVT=15ORVT=16ORVT=19THEN300
  45. 230 FORI=1TOO:IFW2$=O$(I)THENOT=O(I):I=O+1
  46. 235 NEXT
  47. 240 IFOTTHEN300
  48. 250 PRINT"[201] DON'T KNOW WHAT A '"W2$"' IS.":GOTO100
  49. 300 IFVT=2ORVT=3ORVT=10ORVT=11ORVT=15ORVT=16ORVT=18ORVT=19THEN308
  50. 301 IFOT=0THEN7105
  51. 307 IFDKAND(VT<>1ANDVT<>5ANDVT<>6ANDVT<>15ANDVT<>16)THEN7520
  52. 308 DK=0
  53. 310 ONVTGOTO1100,1200,1300,1400,1500,1600,1700,1800,1900,2000
  54. 320 ONVT-10GOTO2100,2200,2300,2400,2500,2600,2700,2800,2900,3000
  55. 330 PRINT"[208]ROGRAM ERROR AT 330":GOTO12030
  56. 399 REM * LIGHTS OUT!
  57. 400 FORI=5TO6
  58. 410 IFS(I)THENS(I-3)=S(I-3)-1:IFS(I-3)=0THENS(I)=0:L(I)=0:ONI-4GOSUB7580,7590
  59. 420 NEXT
  60. 430 IFS(1)THENS(1)=S(1)-1:IFS(1)=0THENS(4)=0:PRINT"[217]OUR MATCH HAS BURNED OUT."
  61. 440 RETURN
  62. 899 REM * STRIP LEADING/TRAILING BLANKS
  63. 900 IFLEFT$(Z$,1)=" "THENZ$=MID$(Z$,2):GOTO900
  64. 910 IFRIGHT$(Z$,1)=" "THENZ$=LEFT$(Z$,LEN(Z$)-1):GOTO910
  65. 920 RETURN
  66. 1000 REM ** ACTION ROUTINES **
  67. 1099 REM * GO
  68. 1100 IF(OT=63AND(R(R)AND16))OR(OT=64AND(R(R)AND4))THEN7900
  69. 1105 IF(OT=67AND(R=5ORR=28))OR(OT=68ANDR=12)THEN7900
  70. 1107 IFR=13ANDOT=72THEN7900
  71. 1108 IF(R=23ORR=24)ANDOT=73THEN7900
  72. 1110 IFOT<50OROT>59THEN7000
  73. 1120 Z=A(R,OT-50):IFZ=0THEN7100
  74. 1130 R=Z:A=0
  75. 1190 GOTO7900
  76. 1199 REM * INVENTORY
  77. 1200 IFOTTHEN7000
  78. 1210 Z$="NOTHING."
  79. 1220 PRINT"[217]OU ARE CARRYING ";
  80. 1230 FORI=1TOT:IFL(I)<0THENPRINTTAB(17)I$(I);:Z$=""
  81. 1235 IFL(I)<0THENIF(I=5ORI=6)THENIFS(I)THENPRINT" (LIT)";
  82. 1237 IFL(I)<0THENPRINT
  83. 1240 NEXT:IFZ$>""THENPRINTZ$
  84. 1290 GOTO8000
  85. 1299 REM * LOOK
  86. 1300 IFDKTHEN7520
  87. 1310 REM IFOT=0THEN7540
  88. 1320 IFOT>49ANDOT<60THEN7000
  89. 1330 IFOT>0ANDOT<=T THENIFL(OT)>=0THEN7510
  90. 1340 GOTO1900:REM PATCH (LOOK=EXAMINE)
  91. 1380 GOTO7540
  92. 1399 REM * GET/TAKE
  93. 1400 IFOT>49ANDOT<60THEN7000
  94. 1420 IFOT=61AND(R(R)AND1)THEN7110
  95. 1430 IF(OT=62OROT=69OROT=70)AND(R(R)AND64)THEN7120
  96. 1440 IF(OT=63OROT=67)AND(R=5ORR=37ORR=28)THEN7130
  97. 1448 IFOT>TTHEN7000
  98. 1450 IFL(OT)<0THEN7200
  99. 1460 IFL(OT)<>RTHEN7210
  100. 1465 IFOT<>4GOTO1490
  101. 1470 I$(4)=STR$(M)+" MATCHES":I$(4)=MID$(I$(4),2):IFM=1THENI$(4)="1 MATCH"
  102. 1490 L(OT)=-1:GOTO7900
  103. 1499 REM * DROP
  104. 1500 IFOT>TTHEN7000
  105. 1520 IFOT=0THEN7105
  106. 1550 IFL(OT)>=0THEN7510
  107. 1580 IFOT=5OROT=6THENS(OT)=0
  108. 1590 L(OT)=R:GOTO7900
  109. 1599 REM * LIGHT
  110. 1600 IFOT<4OROT>6THEN7000
  111. 1615 IFL(OT)>=0THEN7510
  112. 1620 IFS(OT)THEN7300
  113. 1622 IFOT=6ANDS(4)=0THEN7110
  114. 1624 IFOT<>4THEN1690
  115. 1625 IFM=0THEN7310
  116. 1630 M=M-1:IFM=0THENL(4)=0
  117. 1635 I$(4)=STR$(M)+" MATCHES":I$(4)=MID$(I$(4),2):IFM=1THENI$(4)="1 MATCH"
  118. 1638 IF M=0THENPRINT"[212]HAT WAS YOUR LAST MATCH!":S(1)=2:S(4)=1:GOTO8000
  119. 1640 PRINT"[217]OU HAVE "I$(4)" LEFT.":S(1)=2:S(4)=1:GOTO8000
  120. 1690 S(OT)=1:GOTO7900
  121. 1699 REM * UNLIGHT
  122. 1700 IFOT<4OROT>6THEN7000
  123. 1715 IFL(OT)>=0THEN7510
  124. 1720 IFS(OT)=0THEN7305
  125. 1790 S(OT)=0:GOTO7900
  126. 1799 REM * READ
  127. 1800 IFOT=2ANDL(2)<0THEN7550
  128. 1810 IFOT=2THEN7510
  129. 1820 GOTO7000
  130. 1899 REM * EXAMINE
  131. 1900 IFR=37AND(OT=67OROT=0)ANDL(5)<0ANDS(5)=1THENL(4)=37:GOTO8000
  132. 1910 IFDKTHEN7520
  133. 1990 GOTO7540
  134. 1999 REM * SWIM
  135. 2000 IF(R=23ORR=24)ANDOT=73THEN7320
  136. 2010 IF(R(R)AND4)=0THEN7000
  137. 2020 IFOT<>64AND(OT<50OROT>59)THEN7000
  138. 2090 GOTO7530
  139. 2099 REM * DRINK
  140. 2100 IF(R=23ORR=24)ANDOT=73THEN7710
  141. 2110 IFOT<>0ANDOT<>61THEN7000
  142. 2120 IF(R(R)AND2)THEN7120
  143. 2130 IF(R(R)AND1)=0THEN7400
  144. 2190 GOTO7410
  145. 2199 REM * CLIMB
  146. 2200 IFOT<>65ANDOT<>66THEN7000
  147. 2220 IF(R(R)AND8)THEN7500
  148. 2290 GOTO7000
  149. 2299 REM * THROW
  150. 2300 IFOT>T THEN7000
  151. 2305 IFOT=0THEN7105
  152. 2310 IFL(OT)>=0THEN7510
  153. 2320 IFR=36THENR(R)=(R(R)AND191):A(36,3)=35:PRINT"[212]HE SNAKE SLITHERS AWAY!"
  154. 2380 IFOT=5OROT=6THENS(OT)=0
  155. 2390 L(OT)=R:GOTO7900
  156. 2399 REM * CROSS
  157. 2400 IFOT<>63ANDOT<>64THEN7000
  158. 2420 IFOT=64AND(R(R)AND4)THEN7530
  159. 2430 IFOT=63AND(R(R)AND16)THEN2450
  160. 2440 GOTO7000
  161. 2450 IFR=3THENR=6:GOTO7900
  162. 2460 IFR=6THENR=3:GOTO7900
  163. 2470 PRINT"[208]ROGRAM ERROR AT 2470":GOTO12030
  164. 2499 REM * SAY
  165. 2500 IFW2$>""THENPRINT""CHR$(34)W2$CHR$(34)
  166. 2590 GOTO8000
  167. 2599 REM * YELL/SCREAM
  168. 2600 IFW2$=""THENW2$="[197][197][197][197][197][197][197][197][197][203]"
  169. 2610 Z$=W2$:W2$="":FORI=1TOLEN(Z$):W2$=W2$+CHR$(ASC(MID$(Z$,I,1))OR128):NEXT
  170. 2615 W2$=W2$+"!"
  171. 2620 GOTO2500
  172. 2699 REM * KILL
  173. 2700 IFOT<>62ANDOT<>69ANDOT<>70THEN7000
  174. 2710 IF(R(R)AND64)=0THEN7210
  175. 2720 IF(OT=69ANDR<>16)OR(OT=70ANDR<>36)THEN7210
  176. 2730 GOTO7600
  177. 2799 REM * JUMP
  178. 2800 IFR=13ANDOT=72THENR=25:GOTO7610
  179. 2810 IFOT=0THEN7900
  180. 2820 IF((R=23ORR=24)ANDOT=73)OR(OT=64AND(R(R)AND4))THEN7720
  181. 2890 GOTO7000
  182. 2899 REM * CRY
  183. 2900 IFW2$=""THENW2$="WAAAHH!"
  184. 2910 GOTO2500
  185. 2999 REM * GRAB
  186. 3000 IFR=26ANDOT=71THENR=29:GOTO7900
  187. 3010 IFOT<=T THENIFL(OT)<1THEN7200
  188. 3020 IFOT<=T THENIFL(OT)<>RTHEN7210
  189. 3030 IFOT<=T THEN7570
  190. 3090 GOTO7000
  191. 6999 REM * PRINT MESSAGES
  192. 7000 PRINT"[201] DON'T UNDERSTAND.":GOTO100
  193. 7100 PRINT"[217]OU CAN'T GO THAT WAY.":GOTO100
  194. 7105 PRINT"[195]OULD YOU BE MORE SPECIFIC, PLEASE?":GOTO8000
  195. 7110 PRINT"[215]ITH WHAT?":GOTO100
  196. 7120 PRINT"[212]HAT WOULDN'T BE WISE.":GOTO100
  197. 7130 PRINT"[201]T'S FAR TOO HEAVY!":GOTO100
  198. 7200 PRINT"[217]OU ALREADY HAVE IT!":GOTO100
  199. 7210 PRINT"[212]HERE'S NO "W2$" HERE.":GOTO100
  200. 7300 PRINT"[201]T'S ALREADY LIT.":GOTO100
  201. 7305 PRINT"[201]T'S NOT LIT.":GOTO100
  202. 7310 PRINT"[217]OU'RE OUT OF MATCHES.":GOTO100
  203. 7320 PRINT"[217]OU CAN'T DO THAT.":GOTO100
  204. 7330 PRINT"[201]T'S ALREADY ON.":GOTO100
  205. 7400 PRINT"[212]HERE'S NO WATER HERE.":GOTO100
  206. 7410 PRINT"[193]HHH!!!!":GOTO100
  207. 7500 PRINT"[217]OU DON'T NEED TO DO THAT.":GOTO100
  208. 7510 PRINT"[217]OU DON'T HAVE A "W2$".":GOTO100
  209. 7520 PRINT"[201]T'S TOO DARK TO SEE!":GOTO100
  210. 7530 PRINT"[212]HE RIVER IS TOO FAST.":GOTO100
  211. 7540 PRINT"[217]OU SEE NOTHING SPECIAL.":GOTO8000
  212. 7550 PRINT"[217]OU DON'T NEED A COMPASS TO PLAY THIS   ADVENTURE!  [201]'LL TELL YOU ";
  213. 7560 PRINT"WHAT          DIRECTIONS YOU CAN GO!":GOTO100
  214. 7570 PRINT"[196]ON'T BE GRABBY!":GOTO100
  215. 7580 PRINT"[212]HE BATTERIES IN YOUR FLASHLIGHT HAVE   DIED.  [217]OU THROW THE ";
  216. 7582 PRINT"FLASHLIGHT AWAY IN DISGUST.":RETURN
  217. 7590 PRINT"[212]HE STICK HAS BURNED UP.  [217]OU DROP THE  REMAINS BEFORE IT BURNS YOUR ";
  218. 7592 PRINT"HAND.":RETURN
  219. 7600 PRINT"[217]OU DON'T SEEM TO HAVE A WAY TO DO THAT.":GOTO100
  220. 7610 PRINT"[217]OU'VE LOST ALL YOUR POSSESSIONS!":FORI=1TOT:IFL(I)<0THENL(I)=0
  221. 7615 NEXT:S(5)=0:S(6)=0:GOTO8000
  222. 7710 PRINT"[212]HE WHOLE THING?[145]":GOTO7120
  223. 7720 PRINT"[201]T'S TOO FAR TO JUMP!":GOTO100
  224. 7900 PRINT"OK."
  225. 7999 REM * DISPLAY SURROUNDINGS
  226. 8000 PRINT""R$(R)
  227. 8008 IFR=34ORR=27THEN12030
  228. 8010 IF(R(R)AND32)ANDS(4)=0ANDS(5)=0ANDS(6)=0THEN DK=1:GOTO7520
  229. 8020 IFR=25THENR=26:PRINT"[217]OU'RE BEING SWEPT AWAY BY THE RIVER!":RV=1:GOTO8000
  230. 8100 Z$="":P=0:FORJ=0TO5:IFA(R,J)THENZ$=Z$+D$(J)+", "
  231. 8110 NEXT:IFZ$=""THEN8200
  232. 8120 Z$=LEFT$(Z$,LEN(Z$)-2):FORJ=LEN(Z$)TO1STEP-1:IFMID$(Z$,J,1)=","THENP=J:J=0
  233. 8122 NEXT:IFPTHENZ$=LEFT$(Z$,P-1)+" AND"+MID$(Z$,P+1)
  234. 8130 PRINT"[217]OU CAN GO "Z$"."
  235. 8200 Z$="":P=0:FORJ=1TOT:IFL(J)=RTHENZ$=Z$+I$(J)+", "
  236. 8210 NEXT:IFZ$=""THEN8310
  237. 8220 Z$=LEFT$(Z$,LEN(Z$)-2):FORJ=LEN(Z$)TO1STEP-1:IFMID$(Z$,J,1)=","THENP=J:J=0
  238. 8230 NEXT:IFPTHENZ$=LEFT$(Z$,P-1)+" AND"+MID$(Z$,P+1)
  239. 8240 Z1$="[217]OU SEE "+Z$+".":Z2$=""
  240. 8250 IFLEN(Z1$)<41THEN8300
  241. 8260 P=0:FORJ=40TO1STEP-1:IFMID$(Z1$,J,1)=" "THENP=J:J=0
  242. 8270 NEXT:Z2$=MID$(Z1$,P+1):Z1$=LEFT$(Z1$,P)
  243. 8300 PRINT""Z1$:IFZ2$>""THENPRINTZ2$
  244. 8310 IF(R(R)AND64)=0GOTO8990
  245. 8315 REM 1-SNAKE 2-BEAR 3-BAT
  246. 8320 A=3:IFR=36THENA=1
  247. 8330 IFR=16THENA=2
  248. 8340 ONAGOTO8350,8360,8390
  249. 8350 PRINT"[193] SNAKE BARS YOUR WAY TO THE WEST!":GOTO8990
  250. 8360 PRINT"[193] BEAR BLOCKS YOUR PATH TO THE NORTH!":A(16,0)=0
  251. 8370 IFS(6)THENPRINT"[212]HE BEAR RUNS FROM YOU!":A(16,0)=13
  252. 8380 GOTO8990
  253. 8390 PRINT"[212]HERE ARE BATS HERE."
  254. 8990 GOTO100
  255. 8999 REM * INITIALIZATION *
  256. 9000 POKE808,225:POKE53265,27:PRINTCHR$(14)CHR$(8):GOSUB15000:GOSUB10000
  257. 9001 V=22:O=29:T=6:R=37:M=3
  258. 9002 DIMV$(V),O$(O),V(V),O(O),R$(38),A(37,5),I$(T),S(6),L(T),D$(5),R(37)
  259. 9005 S(2)=40:S(3)=40
  260. 9010 FORI=1TOV:READV$(I):READV(I):NEXT
  261. 9020 FORI=1TOO:READO$(I):READO(I):NEXT
  262. 9030 FORI=1TO38:READR$(I):NEXT:R$(28)=R$(28)+R$(38):R$(38)=""
  263. 9040 FORI=1TO37:FORJ=0TO5:READA(I,J):NEXT:NEXT
  264. 9050 FORI=0TO5:READD$(I):NEXT
  265. 9060 FORI=1TOT:READI$(I):READL(I):NEXT
  266. 9070 FORI=1TO37:READR(I):NEXT
  267. 9400 OPEN1,0
  268. 9490 GOTO8000
  269. 9500 REM * VERBS/VERB TOKENS *
  270. 9502 DATAGO,1,INVENTORY,2,LOOK,3,GET,4,TAKE,4,DROP,5,LIGHT,6
  271. 9505 DATAUNLIGHT,7,READ,8,EXAMINE,9,SWIM,10,DRINK,11,CLIMB,12,THROW,13,CROSS,14
  272. 9506 DATASAY,15,YELL,16,SCREAM,16,KILL,17,JUMP,18,CRY,19,GRAB,20
  273. 9510 REM * OBJECTS/OBJECT TOKENS *
  274. 9512 DATANORTH,50,EAST,51,SOUTH,52,WEST,53,UP,54,DOWN,55
  275. 9513 DATAGOLD,1,BARS OF GOLD,1,BARS,1,COMPASS,2
  276. 9515 DATAMATCH,4,MATCHES,4,FLASHLIGHT,5,STICK,6,WATER,61,BATS,62
  277. 9516 DATABRIDGE,63,RIVER,64,MOUNTAIN,65,TREE,66,AIRPLANE,67,PLANE,67
  278. 9517 DATACAVE,68,BEAR,69,SNAKE,70,ROCK,71,ROCKS,71,HOLE,72,POOL,73
  279. 9600 REM * LOCATION DESCRIPTIONS *
  280. 9601 DATA"[217]OU ARE IN A FOREST.  [212]O THE WEST IS A  RAGING RIVER.
  281. 9602 [131]"(null)OU ARE IN A FOREST.
  282. 9603 DATA"[217]OU ARE IN A FOREST.  [212]O THE SOUTH IS A BRIDGE OVER THE RIVER.
  283. 9604 [131]"(null)OU ARE IN A FOREST.  (null)O THE WEST IS A  RAGING RIVER.
  284. 9605 DATA"[217]OU ARE IN A FOREST.  [212]O THE EAST IS A  RIVER.  [217]OUR AIRPLANE IS HERE.
  285. 9606 [131]"(null)OU ARE ON A TRAIL.  (null)HE RIVER IS TO THEWEST; MOUNTAINS ARE EAST.
  286. 9607 DATA"[217]OU ARE IN A FOREST.  [212]O THE WEST IS A  RAGING RIVER.
  287. 9608 [131]"(null)OU ARE IN A MEADOW.  (null)HE RIVER IS TO   THE EAST.
  288. 9609 DATA"[217]OU ARE ON A TRAIL.  [212]HE RIVER IS TO THEWEST; MOUNTAINS ARE EAST.
  289. 9610 [131]"(null)OU ARE IN A MEADOW.  (null)O THE WEST AND   SOUTH IS A RAGING RIVER.
  290. 9611 DATA"[217]OU ARE IN A MEADOW.  [212]HE RIVER IS TO   THE EAST AND SOUTH.
  291. 9612 [131]"VALND OF THE TRAIL.  ATN CAVE IS HERE.  (null)HE RIVER IS WEST; MOUNTAINS EAST.
  292. 9613 DATA"[212]HE FLOOR IS DAMP HERE...THERE IS A HOLETEN FEET ABOVE THE RIVER.
  293. 9614 [131]"(null)OU ARE IN A CAVE.  (null)HE ENTRANCE IS     ABOUT TWELVE FEET UP.
  294. 9615 DATA"[217]OU ARE IN A CAVE.
  295. 9616 [131]"(null)OU ARE IN A CAVE.
  296. 9617 DATA"[217]OU ARE IN A CAVE.
  297. 9618 [131]"(null)OU ARE IN A CAVE.
  298. 9619 DATA"[217]OU ARE IN A CAVE.
  299. 9620 [131]"(null)OU ARE IN A CAVE.
  300. 9621 DATA"[217]OU ARE IN A CAVE.
  301. 9622 [131]"(null)OU ARE IN A CAVE.
  302. 9623 DATA"[217]OU ARE IN A CAVE.  [212]O THE EAST IS A    POOL.
  303. 9624 [131]"(null)OU ARE IN A CAVE.  (null)O THE WEST IS A    POOL.
  304. 9625 DATA"[217]OU ARE IN A RAGING RIVER BEING SWEPT TOTHE EAST.
  305. 9626 [131]"(null)OU ARE IN A RIVER BEING SWEPT EASTWARD.(null)HERE ARE SOME ROCKS HERE.
  306. 9627 DATA"[207][200] [206][207]!  [217][207][213]'[210][197] [199][207][201][206][199] [207][214][197][210] [193] [215][193][212][197][210][198][193][204][204]!!!
  307. 9628 [131]"(null)OU ARE IN MOUNTAINS.  RIGHT$T'S STRAIGHT UP TO THE WEST, NORTH, AND EAST.
  308. 9629 DATA"[217]OU ARE ON A RIVERBANK.  [201]T'S STRAIGHT  UP BOTH EAST AND WEST.
  309. 9630 [131]"(null)OU'RE ABOVE A TRAIL.  RIGHT$T'S STRAIGHT UP NORTH, EAST, AND WEST.
  310. 9631 DATA"[217]OU ARE IN THE MOUNTAINS.  [201]T'S STRAIGHTUP TO THE WEST AND SOUTH.
  311. 9632 [131]"(null)OU ARE IN THE MOUNTAINS.  RIGHT$T'S STRAIGHTUP TO THE SOUTH.
  312. 9633 DATA"[217]OU ARE IN THE MOUNTAINS.  [201]T'S STRAIGHTUP TO THE EAST.
  313. 9634 [131]"(null)OU'RE ON A MOUNTAIN TOP...YOU'RE SEEN  BY AN AIRPLANE...(null)(null)(null)'(null)VAL (null)ATN(null)VALSTR$!
  314. 9635 DATA"[217]OU ARE IN THE MOUNTAINS.  [201]T'S STRAIGHTUP TO THE NORTH AND SOUTH.
  315. 9636 [131]"(null)OU ARE IN THE MOUNTAINS.  RIGHT$T'S STRAIGHTUP TO THE SOUTH AND EAST.
  316. 9637 DATA"[217]OU ARE IN YOUR AIRPLANE.
  317. 9638 [131]"  (null)HE      WRECKAGE OF AN AIRPLANE IS HERE.
  318. 9700 REM * LOCATION ACCESS DATA *
  319. 9701 DATA0,0,4,0,0,0
  320. 9702 DATA0,3,5,0,0,0
  321. 9703 DATA0,0,6,2,0,0
  322. 9704 DATA1,5,7,0,0,0
  323. 9705 DATA2,0,8,4,37,0
  324. 9706 DATA3,0,9,0,0,0
  325. 9707 DATA4,8,10,0,0,0
  326. 9708 DATA5,0,11,7,0,0
  327. 9709 DATA6,0,12,0,0,0
  328. 9710 DATA7,11,0,0,0,0
  329. 9711 DATA8,0,0,10,0,0
  330. 9712 DATA9,0,0,0,0,14
  331. 9713 DATA0,0,16,0,0,25
  332. 9714 DATA0,15,0,0,12,0
  333. 9715 DATA0,0,18,14,0,0
  334. 9716 DATA0,0,19,0,0,17
  335. 9717 DATA0,18,0,0,0,0
  336. 9718 DATA15,0,21,17,0,0
  337. 9719 DATA16,0,22,0,0,0
  338. 9720 DATA0,21,23,0,0,17
  339. 9721 DATA18,0,24,20,0,0
  340. 9722 DATA19,23,0,0,0,0
  341. 9723 DATA20,0,0,22,0,0
  342. 9724 DATA21,0,0,0,0,0
  343. 9725 DATA0,0,0,0,0,0
  344. 9726 DATA0,0,0,0,0,0
  345. 9727 DATA0,0,0,0,0,0
  346. 9728 DATA0,0,31,0,0,0
  347. 9729 DATA0,0,32,0,0,0
  348. 9730 DATA0,0,33,0,0,12
  349. 9731 DATA28,32,0,0,0,0
  350. 9732 DATA29,33,0,31,0,0
  351. 9733 DATA30,0,36,32,0,0
  352. 9734 DATA0,0,0,0,0,0
  353. 9735 DATA0,36,0,34,0,32
  354. 9736 DATA33,0,0,0,0,0
  355. 9737 DATA0,0,0,0,0,5
  356. 9740 REM * DIRECTION DESCRIPTIONS *
  357. 9750 DATANORTH,EAST,SOUTH,WEST,UP,DOWN
  358. 9800 REM * ITEM DESCRIPTIONS *
  359. 9801 DATABARS OF GOLD,28
  360. 9802 DATAA COMPASS,37
  361. 9803 DATA?,0
  362. 9804 DATAMATCHES,0
  363. 9805 DATAA FLASHLIGHT,37
  364. 9806 DATAA STICK,3
  365. 9900 REM * LOCATION FLAGS *
  366. 9910 DATA13,8,29,13,13,29,13,5,13,5,5,13
  367. 9920 DATA0,0,32,96,32,96,32,96,96,96,34,34
  368. 9930 DATA5,5,0,8,8,8,8,8,8,0,8,72,0
  369. 9999 REM * INTRUCTIONS/INTRODUCTION
  370. 10000 GOSUB11000
  371. 10010 PRINT"[201]N THIS ADVENTURE GAME, YOU ISSUE       COMMANDS TO THE COMPUTER ";
  372. 10015 PRINT"IN A TWO-WORD,"
  373. 10020 PRINT"VERB-OBJECT FORMAT, SUCH AS 'GO NORTH', 'GET TREASURE', ETC., ";
  374. 10025 PRINT"TO DIRECT YOUR    CHARACTER THROUGH THE ADVENTURE."
  375. 10030 PRINT"[212]HE FOLLOWING ABBREVIATED COMMANDS ARE  ACCEPTABLE:"
  376. 10035 PRINTTAB(10)"N   GO NORTH"
  377. 10040 PRINTTAB(10)"S   GO SOUTH"
  378. 10045 PRINTTAB(10)"E   GO EAST"
  379. 10050 PRINTTAB(10)"W   GO WEST"
  380. 10055 PRINTTAB(10)"U   GO UP"
  381. 10060 PRINTTAB(10)"D   GO DOWN"
  382. 10065 PRINTTAB(10)"I   INVENTORY"
  383. 10070 PRINTTAB(10)"Q   QUIT"
  384. 10080 PRINT"[217]OU MAY USE THE COMMANDS 'SAVE' AND"
  385. 10090 PRINT"'LOAD' TO SAVE/LOAD A GAME (DISK ONLY)."
  386. 10100 GOSUB11100:GOSUB11000
  387. 10110 PRINT"[193]S YOU LOOK OUT THE WINDOW OF YOUR PLANEYOU NOTICE HOW BEAUTIFUL ";
  388. 10115 PRINT"THE MOUNTAINS"
  389. 10120 PRINT"LOOK FROM UP HERE.  [201]N LESS THAN TWO    HOURS YOU'LL BE HOME, ";
  390. 10125 PRINT"BUT FOR RIGHT NOW"
  391. 10130 PRINT"YOU'RE CONTENT JUST TO TAKE IN THE      BEAUTY OF THE SCENERY."
  392. 10140 PRINT"[211]UDDENLY IT OCCURS TO YOU THAT IF YOU   TOOK A SHORTCUT HOME ";
  393. 10145 PRINT"FROM HERE YOU MIGHT";
  394. 10150 PRINT"BE ABLE TO SPOT THE PLANE THAT WENT DOWNNOT LONG AGO CARRYING A ";
  395. 10155 PRINT"FORTUNE IN GOLD."
  396. 10160 PRINT"[212]HAT ROUTE IS RARELY TAKEN, AS IT       INVOLVES FLYING OVER ";
  397. 10165 PRINT"SOME EXTREMELY"
  398. 10170 PRINT"REMOTE TERRITORY, AND YOU'VE HEARD THE  RUMORS ABOUT AIRCRAFT ";
  399. 10175 PRINT"DISAPPEARING      WITHOUT A TRACE THERE, BUT YOU'RE"
  400. 10180 PRINT"FEELING ADVENTUROUS (AND THERE'S A VAST TREASURE AT STAKE) SO YOU ";
  401. 10185 PRINT"BANK YOUR"
  402. 10190 PRINT"PLANE ONTO THE NEW COURSE."
  403. 10200 GOSUB11100:GOSUB11000
  404. 10210 PRINT"[217]OU ARE LOST IN A DAYDREAM OF RECOVERINGTHE LOST GOLD WHEN YOU'RE";
  405. 10215 PRINT" JOLTED BACK TO";
  406. 10220 PRINT"REALITY BY YOUR ENGINE, WHICH SPUTTERS  AND THEN DIES."
  407. 10230 PRINT"[217]OU'RE GOING TO CRASH!!"
  408. 10300 GOSUB11100:GOSUB11000
  409. 10310 PRINT"[217]OU'VE LANDED UNHURT IN A MEADOW, BUT   THE PLANE HAS SKIDDED ";
  410. 10315 PRINT"INTO A FOREST, SO"
  411. 10320 PRINT"IT'S NOT VISIBLE FROM THE AIR."
  412. 10330 PRINT"[204]OOKS LIKE YOU'RE STUCK HERE...IT'S UP  TO YOU NOW TO...[211][213][210][214][201][214][197]!"
  413. 10900 GOSUB11100:PRINT"[147]";:RETURN
  414. 11000 PRINT"[147]                [211][213][210][214][201][214][197]!                ":RETURN
  415. 11100 PRINT" [210][197][212][213][210][206][146] TO CONTINUE";:POKE198,0
  416. 11110 GETZ$:IFZ$<>CHR$(13)THEN11110
  417. 11120 RETURN
  418. 11999 REM * QUIT
  419. 12000 PRINT"[193]RE YOU SURE YOU WANT TO QUIT? (Y/N) ":POKE198,0
  420. 12010 GETZ$:IFZ$="N"GOTO8000
  421. 12020 IFZ$<>"Y"GOTO12010
  422. 12030 PRINT"[199]AME [207]VER."
  423. 12040 PRINT"  F1[146] TO RESTART OR F7[146] TO EXIT TO [194][193][211][201][195]":POKE198,0
  424. 12050 GETZ$:IFZ$="[133]"THENRUN
  425. 12060 IFZ$="[136]"THENSYS64738
  426. 12070 GOTO12050
  427. 12999 REM * SAVE
  428. 13000 OPEN15,8,15
  429. 13005 F$=""
  430. 13010 INPUT"[211]AVE [198]ILE [206]AME";F$
  431. 13015 IFF$=""THEN13080
  432. 13020 OPEN2,8,2,"@0:"+F$+",S,W"
  433. 13030 INPUT#15,E1,E2$,E3,E4
  434. 13040 IFE1>19THENCLOSE2:PRINT"[197]RROR"E1;E2$;E3;E4:GOTO13005
  435. 13050 FORI=1TO6:PRINT#2,S(I):NEXT
  436. 13060 FORI=1TOT:PRINT#2,L(I):NEXT
  437. 13065 FORI=1TOT:PRINT#2,I$(I):NEXT
  438. 13070 FORI=1TO37:PRINT#2,R(I):NEXT
  439. 13072 FORI=1TO37:FORJ=0TO5:PRINT#2,A(I,J):NEXT:NEXT
  440. 13074 CR$=CHR$(13)
  441. 13075 PRINT#2,R;CR$;M;CR$;RV;CR$;DK
  442. 13080 CLOSE2:CLOSE15:GOTO100
  443. 13999 REM * LOAD
  444. 14000 OPEN15,8,15
  445. 14005 F$=""
  446. 14010 INPUT"[204]OAD [198]ILE [206]AME";F$
  447. 14015 IFF$=""THEN14080
  448. 14020 OPEN2,8,2,"0:"+F$+",S,R"
  449. 14030 INPUT#15,E1,E2$,E3,E4
  450. 14040 IFE1>19THENCLOSE2:PRINT"[197]RROR"E1;E2$;E3;E4:GOTO14005
  451. 14050 FORI=1TO6:INPUT#2,S(I):NEXT
  452. 14060 FORI=1TOT:INPUT#2,L(I):NEXT
  453. 14065 FORI=1TOT:INPUT#2,I$(I):NEXT
  454. 14070 FORI=1TO37:INPUT#2,R(I):NEXT
  455. 14072 FORI=1TO37:FORJ=0TO5:INPUT#2,A(I,J):NEXT:NEXT
  456. 14075 INPUT#2,R,M,RV,DK
  457. 14080 CLOSE2:CLOSE15:GOTO8000
  458. 14999 REM * TITLE SCREEN/COLOR SELECTION
  459. 15000 PRINT"[147]":POKE198,0
  460. 15010 PRINT""TAB(16)"[211][213][210][214][201][214][197]!"
  461. 15015 PRINTTAB(13)"BY [211]TEVE [199]RACE"
  462. 15016 PRINTTAB(6)"(C) 1986 [197]LECTRICAL [211]OFTWARE"
  463. 15020 PRINTTAB(12)"F1[146] [194]ORDER [195]OLOR"
  464. 15030 PRINTTAB(12)"F3[146] [194]ACKGROUND [195]OLOR"
  465. 15040 PRINTTAB(12)"F5[146] [212]EXT [195]OLOR"
  466. 15050 PRINTTAB(12)"F7[146] [211]TART [199]AME"
  467. 15060 GETZ$:IFZ$="[136]"THENRETURN
  468. 15070 IFZ$="[133]"THENPOKE53280,((PEEK(53280)AND15)+1)AND15
  469. 15080 IFZ$="[134]"THENPOKE53281,((PEEK(53281)AND15)+1)AND15
  470. 15090 IFZ$="[135]"THENPOKE646,((PEEK(646)AND15)+1)AND15:GOTO15010
  471. 15100 GOTO15060
  472.